16 research outputs found

    Scheduling with communication for multiprocessor computation

    Get PDF
    Multiprocessor scheduling houdt zich bezig met de planning van de uitvoering van computer-programma s op een parallelle computer. Een computerprogramma kan worden gezien als een collectie instructies die gegroepeerd zijn in taken. Een parallelle computer is een computer met meerdere processoren die verbonden zijn door een communicatie-netwerk. Elke processor kan taken van een computerprogramma uitvoeren. Tijdens de uitvoering van een computerprogramma op een parallelle computer wordt elke taak ´ e´ en maal uitgevoerd. In het algemeen kunnen de taken van een computerprogramma niet in een willekeurige volgorde worden uitgevoerd: het resultaat van een taak kan nodig zijn om een andere taak uit te voeren. Zulke taken worden data-afhankelijk genoemd. De data-afhankelijkheden defini¨ eren de structuur van het computerprogramma: als taak u2 het resultaat van taak u1 nodig heeft, dan kan u2 pas worden uitgevoerd nadat u1 is voltooid. Als er geen data-afhankelijkheid bestaat tussen twee taken, dan kunnen ze in willekeurige volgorde of tege-lijkertijd worden uitgevoerd. Als twee data-afhankelijke taken u1 en u2 op verschillende processoren worden uitgevoerd, dan moet het resultaat van u1 naar de processor die u2 uitvoert worden overgebracht. Dit transport van informatie wordt communicatie genoemd. Het resultaat van u1 kan naar een andere processor worden overgebracht door het sturen van berichten door het communicatie-netwerk. Een schedule geeft voor elke taak aan welke processor hem uitvoert en op welk tijdstip. Het doel van multiprocessor scheduling is het construeren van een schedule van zo kort mogelijke duur, rekening houdend met de communicatie veroorzaakt door de data-afhankelijkheden tussen de taken. De duur van een schedule wordt in grote mate bepaald door de hoeveelheid communi-catie in het schedule: de duur van een schedule kan toenemen doordat een processor lange tijd geen taken kan uitvoeren, omdat hij staat te wachten op het resultaat van een taak die op een andere processor wordt uitgevoerd. Omdat de wijze waarop processoren van parallelle computers communiceren verschilt per computer, is het uiterst moeilijk om op effici¨ ente wijze goede schedules te construeren voor een computerprogramma op een parallelle computer. Daarom wordt in het algemeen een model van een parallelle computer gebruikt in plaats een echte parallelle computer. Zo n model wordt een parallel berekeningsmodel genoemd. In een parallel berekeningsmodel kan men zich concen-treren op die aspecten van communicatie die een grote invloed hebben op de kwaliteit van een schedule. Dit geeft de mogelijkheid deze aspecten beter te begrijpen. In dit proefschrift worden twee parallelle berekeningsmodellen beschouwd: het UCT model en het LogP model. Het UCT model richt zich op het bestuderen van ´ e´ en aspect van commu-nicatie: een tijdvertraging die nodig is om resultaten tussen processoren te transporteren. Het LogP model is een model dat meerdere aspecten van communicatie in acht neemt: door middel van een geschikt gekozen invulling van zijn parameters L, o, g en P kan het LogP model de communicatie in vele parallelle computers modelleren. Communicatie in het UCT model werkt als volgt. Als taak u2 het resultaat van taak u1 nodig heeft en deze taken zijn op verschillende processoren uitgevoerd, dan moet er een vertraging van tenminste ´ e´ en tijdstap zijn tussen de tijd waarop u1 wordt voltooid en de tijd waarop u2 start. 171?Deze vertraging is nodig om het resultaat van u1 naar de processor die u2 uitvoert te sturen. Als u1 en u2 op dezelfde processor worden uitgevoerd, dan is het resultaat van u1 al op de juiste processor beschikbaar en is er geen vertraging nodig. In dat geval kan u2 direct na u1 worden uitgevoerd. Communicatie in het LogP model is veel ingewikkelder. Beschouw wederom twee data-afhankelijke taken u1 en u2 die op verschillende processoren worden uitgevoerd. Neem aan dat het resultaat van u1 moet worden getransporteerd naar de processor die u2 uitvoert. In vele gevallen kan het transporteren van het resultaat van een taak niet met ´ e´ en bericht, maar zijn meerdere berichten nodig. Deze moeten naar de processor die u2 uitvoert worden gestuurd. Het versturen van ´ e´ en bericht kost o tijdstappen op de processor die u1 uitvoert; het ontvangen ervan kost o tijdstappen op de processor die u2 uitvoert. Daarnaast kan elke processor ten hoogste ´ e´ en bericht versturen of ontvangen in elke g opeenvolgende tijdstappen en is er een vertraging van precies L tijdstappen tussen het versturen en het ontvangen van een bericht. In het eerste deel van dit proefschrift (hoofdstukken 3, 4, 5, 6 en 7) worden algoritmen be-schreven die op effici¨ ente wijze schedules in het UCT model construeren. In hoofdstuk 4 wordt een algoritme beschreven dat goede schedules construeert voor willekeurige computerprogram-ma s. Voor computerprogramma s met een outforest-structuur construeert dit algoritme optimale schedules. In hoofdstuk 5 beschrijven we algoritmen die goede schedules construeren voor com-puterprogramma s met een inforest-structuur. De algoritmen die worden beschreven in hoofd-stukken 6 en 7 construeren optimale schedules voor computerprogramma s waarin het maximum aantal paarsgewijs data-onafhankelijke taken klein is en voor computerprogramma s met een in-terval order-structuur. Het tweede deel van dit proefschrift (hoofdstukken 8, 9, 10 en 11) houdt zich bezig met scheduling in het LogP model. In hoofdstukken 9 en 10 bewijzen we dat het construeren van optimale schedules voor computerprogramma s met een zeer eenvoudige boomstructuur (send graph-structuur of receive graph-structuur) waarschijnlijk niet op effici¨ ente wijze mogelijk is. In deze hoofdstukken worden effici¨ ente algoritmen beschreven die goede (maar niet noodzake-lijk optimale) schedules construeren voor computerprogramma s met een dergelijke structuur. In hoofdstuk 11 worden decompositie-algoritmen gebruikt om op effici¨ ente wijze schedules te construeren voor computerprogramma s met een algemene boomstructuur. Het blijkt dat optimale schedules in het UCT model op effici¨ ente wijze kunnen worden ge-construeerd als de structuur van de computerprogramma s eenvoudig is (bijvoorbeeld computer-programma s met een boomstructuur). De eenvoudige aard van de communicatie in het UCT model maakt dit mogelijk. Vandaar dat de complexiteit van scheduling in het UCT model met name bepaald wordt door de structuur van de computerprogramma s. Daarentegen maakt de communicatie het moeilijk om goede schedules in het LogP model te construeren, zelfs als de structuur van de computerprogramma s zeer eenvoudig is (bijvoorbeeld computerprogramma s met een send graph-structuur). Hieruit blijkt dat de complexiteit van scheduling in het LogP model in grote mate wordt bepaald door de ingewikkelde vorm van communicatie in dit model. 17

    Scheduling UET, UCT dags with release dates and deadlines

    No full text

    A holonic approach to warehouse control

    No full text
    Warehouses play a critical role in the distribution of products of many suppliers to many customers. Traditionally, warehouse operations are controlled by centralised control systems. Because of increasing customer demands, the complexity of such systems becomes too large to respond optimally to all ware-house events. Holonic control systems try to overcome this limitation. This paper presents a framework that supports the development of holonic warehouse control systems. The framework, which is built on top of JADE middleware, allows a holonic control system to be generated from a warehouse layout model and a library of reusable behaviour components. The architecture of the framework and an example of its application to an existing warehouse are presented

    Reflections on the Octopus Project

    No full text
    How to develop adaptive high-tech embedded systems? This question has motivated this book. Adaptivity provides a wider operational envelope of systems and enables new market opportunities. Effective development of such systems requires a systematic approach that enables to include the adaptive capabilities at various system levels. This book presents the most important results of the Octopus project. Being an industry-as-laboratory project, Octopus brought together academic partners and engineers from Océ-Technologies. Industrial challenges in professional printing motivated the research and results were validated in industrial practice. This approach turned out to be successful, with results ranging from improved control schemes for adaptive inkjet printing to design-space exploration tooling for embedded electronics and architecting patterns for adaptive embedded systems. Octopus confirmed some important points of attention for industry-as-laboratory projects. First, the paradigm needs academic researchers with a strong motivation to improve the industrial state-of-the-art. Second, it is not always easy to combine progress of industrial practice with scientific progress. A crisp definition of industrially relevant and academically challenging driver cases is crucial

    Creating graph partitions for fast optimum route planning

    Get PDF
    We investigate fast optimum route planning in large, real-world road networks for car navigation systems. We show how graph partitioning can be used to increase the speed of planning optimum routes. Creating a graph partition with future route planning in mind leads to a non-standard graph partitioning problem. In particular, the quality of a partition, indicated by the objective value, is assumed to represent the execution time of the route planning process. We present an efficient approximation algorithm for creating graph partitions suited for fast optimum route planning. We study the relation between the objective value and the number of edges evaluated by the route planning algorithm, which is an objective measure of the route planning speed. Experiments show that the best partition according to the objective value does not lead to the fastest route planning process. We present a new objective value and show that better partitions result in faster route planning for our new objective value

    Warehouse Simulation Through Model Configuration

    No full text
    The pre-build development of warehouse systems leads from a specific customer request to a specific customer quotation. This involves a process of configuring a warehouse system using a sequence of steps that contain increasingly more details. Simulation is a helpful tool in analyzing warehouse design alternatives, but setting up a detailed simulation is too expensive early in the development process. We show that configurable simulation models can be applied early in the development process with a good cost/benefit ratio. We present a warehouse simulation model that can be configured with customer and topology information and decision algorithms. We show that the simulation results are similar to those of detailed simulations while a warehouse simulation can be configured with little effort and the simulations run fast enough to support sensitivity analysis and design-space exploration
    corecore